package cn.com.nes.site.entity.vo.distribution;

import cn.com.nes.mybatis.agent.distribution.entity.CompanyApply;
import cn.com.nes.site.entity.vo.BaseVO;
import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;

/**
 * 公司（厂商、代理商）申请表
 */
@Data
public class AddCompanyApplyVo extends BaseVO {
    /**
     * 公司名称
     */
    @NotEmpty(message = "公司名称")
    private String companyFullName;

    /**
     * 公司简称
     */
    @NotEmpty(message = "公司简称")
    private String companyShortName;

    /**
     * 厂商代理商类型01厂商02代理商
     */
    @NotEmpty(message = "厂商代理商类型")
    private String companyType;

    /**
     * 机构代码
     */
    @NotEmpty(message = "机构代码")
    private String organizationCode;

    /**
     * 统一社会信用代码
     */
    @NotEmpty(message = "统一社会信用代码")
    private String uniformSocialCreditCode;

    /**
     * 联系人
     */
    @NotEmpty(message = "联系人")
    private String contact;

    /**
     * 联系电话
     */
    @NotEmpty(message = "联系电话")
    private String contactNumber;

    /**
     * 地址
     */
    @NotEmpty(message = "地址")
    private String registerAddress;

    /**
     * 行政区划代码
     */
    @NotEmpty(message = "行政区划代码")
    private String areaCode;

    /**
     * 公司法人
     */
    @NotEmpty(message = "公司法人")
    private String legalPerson;

    /**
     * 提出申请公司id
     */
    private String applyCompanyId;

    /**
     * 审核状态：0未审核，1审核通过，2审核不通过
     */
    private Integer isAudit;

    public CompanyApply convertToCompanyApply() {
        CompanyApply companyApply = new CompanyApply();
        companyApply.setCompanyFullName(this.getCompanyFullName());
        companyApply.setCompanyShortName(this.getCompanyShortName());
        companyApply.setCompanyType(this.getCompanyType());
        companyApply.setOrganizationCode(this.getOrganizationCode());
        companyApply.setUniformSocialCreditCode(this.getUniformSocialCreditCode());
        companyApply.setContact(this.getContact());
        companyApply.setContactNumber(this.getContactNumber());
        companyApply.setRegisterAddress(this.getRegisterAddress());
        companyApply.setAreaCode(this.getAreaCode());
        companyApply.setLegalPerson(this.getLegalPerson());
        companyApply.setApplyCompanyId(super.getOperateUserCompanyId());
        companyApply.setIsAudit(this.getIsAudit());
        companyApply.setGmtCreateId(super.getOperateUserId());
        companyApply.setGmtCreate(super.getOperateDate());
        return companyApply;
    }
}
